package com.wlw.equipment.service;

import com.wlw.equipment.pojo.Equipment;
import com.wlw.equipment.pojo.PageResult;
import com.wlw.equipment.pojo.RequestParams;
import com.baomidou.mybatisplus.extension.service.IService;

import java.io.IOException;
import java.util.List;
import java.util.Map;

public interface IEquipmentService extends IService<Equipment> {
    /**
     * 复合条件查询设备
     *
     * @param requestParams 请求参数
     * @return 设备列表
     */
    PageResult search(RequestParams requestParams) throws IOException;

    /**
     * 品牌、城市、星级聚合
     *
     * @return 聚合结果集合
     */
    Map<String, List<String>> filters(RequestParams requestParams) throws IOException;

    /**
     * 自动补全查询
     *
     * @param prefix 查询关键字
     * @return 查询结果list
     */
    List<String> getSuggestions(String prefix);

    /**
     * 新增或修改ES文档中数据
     *
     * @param id 新增或修改的文档Id
     */
    void insertOrUpdateById(Long id);

    /**
     * 根据id删除ES文档中数据
     *
     * @param id 删除对象的id
     */
    void deleteById(Long id);
}
